package com.zrrd._12_javaSE_Plus.reflect.no_17;


import java.lang.reflect.Method;

/**
 * @author WanJl
 * @version 1.0
 * @title No_17
 * @description 编写一个方法，接受任意一个对象作为参数，利用反射获取该对象的所有方法，并将方法名和参数类型以字符串的形式返回。
 * @create 2023/11/18 16:37
 */
public class No_17 {
    /**
     * @param obj 对象参数
     * @return 方法名和参数类型
     */
    public static String getAllMethods(Object obj) {
        StringBuilder sb = new StringBuilder();
        //1. 获取Class对象
        Class<?> clazz = obj.getClass();
        //2.获取所有方法对象
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            sb.append(method).append("\n");
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        System.out.println(getAllMethods(new String()));
    }

}
